1. Field of the Invention
This invention relates generally to computer systems and more particularly to a method and apparatus for moving data through multi-port systems, e.g., multi-port memory controllers.
2. Description of the Related Art
Memory systems are the primary bottleneck for the flow of data especially within system-on-chip (SoC) designs. Single chips are now designed to achieve the functionality previously completed through multiple chips. The memory systems associated with the SoC designs must arbitrate multiple ports to get to a single interface, i.e., perform n to 1 port arbitration. The memory controllers associated with the memory systems generally utilize static arbitration. Here, at the time the system is built, the arbitration to be applied to any pattern or incoming request is known. FIG. 1 is a simplified schematic diagram of an arbitration scheme for moving data in a multi-port environment. Data from multiple ports is transmitted over data lines D0–Dn 108 to multiplexer 102 of arbitration unit 100. A select signal generated by state machine 104 is transmitted to multiplexer 102 over select line 114. State machine 104 receives command signals over command lines C0–Cn 110, which correspond to data lines D0–Dn 108, respectively. Based on the command signals, state machine 104 applies a simple rule to determine which data line is selected so that the associated data is transferred to resource 106.
The arbitration decision is typically based upon a fairness algorithm that determines which data is selected. Under fairness algorithms, the state machine generally only takes into account recent past cycles, e.g., if the requester was selected in the last cycle, that requestor is not allowed to be selected for the current cycle. That is, a round robin technique is applied by the state machine which is not based upon any of the knowledge of the characteristics of the data being transferred, such as for example, the amount of data being transferred, how fast the transfers are coming in, etc. In essence, the arbitration is separated into two domains, the data and the requests, wherein the decision of which data to select is only based on data associated with the request domain. Consequently, one of the shortcomings of this type of arbitration is the lack of consideration of bandwidth available and the amount of data being transferred per request.
As a result, there is a need to solve the problems of the prior art to provide a memory system configured to provide feedback for the selection decision of the arbitration scheme, wherein the selection decision considers characteristics of the data.